#ifndef __COM_DEBUG_H__
#define __COM_DEBUG_H__

#include <stdio.h>
#include <string.h>
#include <stdarg.h>
#include "usart.h"

#define __DEBUG__

#ifdef __DEBUG__
#define _FILE_NAME_ (strrchr(__FILE__, '/')? strrchr(__FILE__, '/') + 1 : __FILE__)
#define FILE_NAME (strrchr(_FILE_NAME_, '\\')? strrchr(_FILE_NAME_, '\\') + 1 : _FILE_NAME_)

#define DEBUG_PRINT(format, ...) printf("[%s:%d]" format,FILE_NAME, __LINE__, ##__VA_ARGS__)
#define DEBUG_PRINTLN(format, ...) printf("[%s:%d]" format"\r\n",FILE_NAME, __LINE__ , ##__VA_ARGS__)
#else
#define DEBUG_PRINT(format, ...)
#define DEBUG_PRINTLN(format, ...)
#endif

void debug_init(void);


#endif /* __COM_DEBUG_H__ */


